package com.example.comment_oa.pojos;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;

/**
 * 
 * @TableName dimission
 */
@TableName(value ="dimission")
@Data
public class Dimission implements Serializable {
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Integer dimId;

    /**
     * 员工表id
     */
    private Integer empId;

    /**
     * 申请人
     */
    private String dimName;

    /**
     * 申请人部门
     */
    private String dimDepartment;

    /**
     * 申请人岗位
     */
    private String dimPost;

    /**
     * 离职时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date dimTime;

    /**
     * 提交时间、获取当前时间 禁止操作
     */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    private Timestamp submitTime;

    /**
     * 离职原因
     */
    private String dimCause;

    /**
     * 离职状态、成功0、失败1、办理中2
     */
    private String dimState;

    /**
     * 是否需要交接工作、是0、否1
     */
    private String handover;

    /**
     * 交接人
     */
    private String handoverPerson;

    /**
     * 对公司的建议与意见
     */
    private String dimAdvice;

    /**
     * 流程状态、待发起0、审批中1、审批成功2、审批失败3
     */
    private String dimissionState;
    /**
     * 申请编号
     */
    private String dimBianhao;
    /**
     * 工号
     */
    private String dimGonghao;

    //@tablefield意思是告诉程序表名没有这个字段
    @TableField(exist = false)
    //两表联查，装次表的实体类对象数据
    private SysEmployee sysEmployee;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

}